package kz.kstu.scantest.app.delegate.api;

import kz.kstu.scantest.business.common.form.FormType;
import kz.kstu.scantest.business.entity.data.FormData;
import kz.kstu.scantest.business.entity.guide.School;

import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.List;

/**
 * @author Filipp_Stankevich
 *         created: 14.09.11 22:30
 */
public interface FormDataDelegate {

    List<FormData> checkFormData(List<FormData> formDataList);

    FormData processFormData(byte[] data, School school, FormType formType) throws UnsupportedEncodingException;

    FormData validateAndSaveFormData(FormData formData);

    List<FormData> findByDateAndSchool(Date date, School school);

    List<FormData> findByDateAndSchoolWithErrors(Date date, School school);

    void saveFormData(FormData formData);

    void removeFormData(Long id);

    List<Date> findScanDatesBySchool(School school);

    FormData findFormDataById(Long id);
}
